package tech.aistar.day06;

import tech.aistar.day05.Animal;

/**
 * 本类用来演示: 接口
 *
 * @author: success
 * @date: 2022/7/25 10:43 上午
 */
public interface IA {

    //公开的静态的常量属性
    //public static final int DAY = 1;
    //简写
    //public int DAY = 1;
    // 最精简的写法
    int DAY = 1;

    //不允许有构造
    //public IA(){
    //
    //}

   // public abstract void test();

    void test();

    //jdk8支持定义普通方法
    default void add(){
        System.out.println("add...");
    };

    static void tt(){
        System.out.println("静态方法");
    }

}
//一个类实现某个接口的时候,需要实现实现接口中所有的抽象方法
class Aimpl implements IA{

    @Override
    public void test() {
        System.out.println("testA...");
    }
}

class Bimpl implements IA{

    @Override
    public void test() {
        System.out.println("testB...");
    }
}
class TestA{
    public static void main(String[] args) {
        IA a = new Aimpl();

        a.test();
        a.add();

        //接口是不能被实例化的,但是支持匿名内部类
        IA c = new IA() {
            @Override
            public void test() {
                System.out.println("c...");
            }
        };
        c.test();
    }
}